/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package pe.edu.upc.dew.serviciosmultiples.service;

import java.util.List;
import pe.edu.upc.dew.serviciosmultiples.dao.SolicitudDAO;
import pe.edu.upc.dew.serviciosmultiples.exception.DAOException;
import pe.edu.upc.dew.serviciosmultiples.exception.ServiceException;
import pe.edu.upc.dew.serviciosmultiples.model.Solicitud;

/**
 *
 * @author bcano
 */
public class SolicitudServiceImpl implements SolicitudService {

   private SolicitudDAO solicitudDAO;

    public SolicitudDAO getSolicitudDAO() {
        return solicitudDAO;
    }

    public void setSolicitudDAO(SolicitudDAO solicitudDAO) {
        this.solicitudDAO = solicitudDAO;
    }

    @Override
    public List<Solicitud> listarSolicitudesPorServicio(Solicitud solicitud) throws ServiceException {
        try {
            return solicitudDAO.listarSolicitudesPorServicio(solicitud);
        } catch (DAOException e) {
            throw new ServiceException(e);
        }
    }

    @Override
    public List<Solicitud> listarSolicitudesPendientes(String estado) throws ServiceException {
        try {
            return solicitudDAO.listarSolicitudesPendientes(estado);
        } catch (DAOException e) {
            throw new ServiceException(e);
        }
    }

    @Override
    public Solicitud obtenerSolicitud(String idSolicitud) throws ServiceException {
        try {
            return solicitudDAO.obtenerSolicitud(idSolicitud);
        } catch (DAOException e) {
            throw new ServiceException(e);
        }
    }

    @Override
    public Boolean validarDobleSolicitud(Solicitud solicitud) throws ServiceException {
        try {
            return solicitudDAO.validarDobleSolicitud(solicitud);
        } catch (DAOException e) {
            throw new ServiceException(e);
        }
    }

    @Override
    public Solicitud insertarSolicitud(Solicitud solicitud) throws ServiceException {
        try {
            return solicitudDAO.insertarSolicitud(solicitud);
        } catch (DAOException e) {
            throw new ServiceException(e);
        }
    }

    @Override
    public Boolean validarTecnicoDisponible(Solicitud solicitud) throws ServiceException {
        try {
            return solicitudDAO.validarTecnicoDisponible(solicitud);
        } catch (DAOException e) {
            throw new ServiceException(e);
        }
    }

    @Override
    public Solicitud actualizarSolicitud(Solicitud solicitud) throws ServiceException {
        try {
            return solicitudDAO.actualizarSolicitud(solicitud);
        } catch (DAOException e) {
            throw new ServiceException(e);
        }
    }
}
